Metadata in general refers to data about data. Typically, metadata describes how, when and/or by whom a particular set of data was collected. In the context of media applications that use audio and video data, metadata may include ancillary information about a file, a track or stream of media data. For example, metadata about a video stream may include a copyright, creation date and director information. As another example, an audio track in an MP3 (Moving Pictures Expert Group (MPEG)-1 Audio Layer-3) file may include artist, album and song title as metadata. Metadata can be found in the media stream itself, or it can be stored separate from the media data.
Different types of media files may store metadata in many different ways. How metadata is stored is dictated by the format of the media file. For example, in QuickTime® movie files, metadata is stored in a “user data list” within the movie file. The user data list contains one or more user data items. Each user data item in the user data list has a type, (e.g., Author, Copyright, Creation Date, Producer, etc.), associated with it that identifies what type of metadata is contained in that user data item. For example, copyright information may be stored in a ‘@cpy’ user data item. As another example, metadata in an MP3 file is stored in an “ID3” section of the MP3 file. The ID3 “tag” is a fixed-size 128-byte section that resides at the end of MP3 audio files. The ID3 tag includes title, artist, year, genre and comment fields as metadata associated with the song stored in the MP3 file. Later versions of the ID3 metadata format allow for individual pieces of metadata to be interspersed within the MP3 file. Other media file formats and techniques for storing media metadata are known.
Traditionally, applications access metadata information stored in a media file through functions that are specific to the type of the media file. These format-specific functions assume that the metadata is stored in a particular format associated with that file type. For example, an application can access QuickTime movie metadata through functions developed to retrieve user data lists from QuickTime movie files. These functions are QuickTime-format specific, and are only capable of dealing with QuickTime user data.
As use of media data becomes more common, and the number of different types of and formats for media data increases, it becomes important for applications to be able to access different types of media data. For instance, a person creating a movie may use a multi-platform multimedia application to include various types of video, audio and/or text tracks acquired from various sources in the movie. The ability to access metadata from different types of media data also becomes increasingly important as media data becomes more widespread.
One approach for accessing metadata stored in different media data formats is to create a separate set of metadata access functions for each format. This approach is limited as new metadata access functions need to be developed for each particular format as new formats are developed. In addition, as existing formats are updated with newer format versions, the functions to access metadata stored in those formats also need to be updated.
Another approach for accessing metadata stored in different media data formats is to convert the metadata from various media data formats into a common format. In this approach, only one set of metadata access functions are needed, as all metadata is converted to the common format. However, functions that convert the metadata to the common metadata format will still need to be updated as new media file types and formats are introduced and updated. In addition, some metadata may be lost or the fidelity compromised in the conversion as the common format may store data in a different way, or may not provide for every possible type of metadata.
New techniques for accessing metadata stored in various native media data formats are needed.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.